Today, many computer systems employ graphical user interfaces (GUIs) which users may use to interact with the systems. GUIs often employ graphical elements, such as images, widgets icons and the like, which may represent information and actions available to a user. The actions are usually performed through direct manipulation of the graphical elements.
Many GUIs employ windows which are often used by applications running on a computer system to interact with users. Here, a window may be defined as a visual area, usually rectangular in shape, that contains an interface that may be used to display the output and/or allow the input of information associated with the applications. GUIs that employ windows are often called windowing systems. Examples of windowing systems include, e.g., the X window system and Microsoft Windows.
Many windowing systems employ window managers to control the placement and appearance of windows on a display. The display may include a desktop which is an area that is displayed behind the windows. In a typical arrangement, the window manager displays the windows on top of the desktop by “overlaying” areas of the desktop with the windows such that the windows are seen but not the areas of the desktop behind the windows.
Many window managers include functions that enable windows to be added and deleted from a display. For example, a window manager may contain a function that may be called (invoked) by an application to create a window at a particular location of the display. Likewise, a window manager may contain a function that enables an application to direct the window manager to remove a window from the display.
Often when a window is created for an application, the window manager usually renders only a frame for the window on the display. After rendering the frame, the window manager may then notify the application that the frame has been rendered. After receiving the notification the application may render application specific information within the window's frame.
Typical user interfaces (e.g., GUIs) often times implement a page metaphor, in which transitions from one state to another result in the previous page disappearing and being replaced with a new page. With traditional web content and application interfaces, a user selects an item from a list of available options and the display is refreshed such that the display presents to the user an updated view. Typically the entire page is refreshed. In some scenarios, a bread crumb trail or meta navigation is provided which allows the user to find their way back to where they came from.